package com.cipe.cmrs.model;

import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.List;

import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.persistence.UniqueConstraint;

import com.cipe.cmrs.util.DateUtil2;
import com.cipe.cmrs.util.Util;

/**
 * <p>
 * Pojo mapping TABLE dbo.CipeProject
 * </p>
 * <p>
 * Generated at Sat Dec 03 14:39:40 PKT 2011
 * </p>
 * 
 * @author Incepio
 */
@Entity
@Table(name = "project", uniqueConstraints = { @UniqueConstraint(columnNames = { "projectID" }) })
@SuppressWarnings("serial")
// @NamedQueries({ @NamedQuery(name = "findCipeproject", query =
// " FROM Cipeproject p where p.projectID = ? or p.acronym = ? or p.partner = ? or p.projectTitle=? or p.cipeprojecttype=? or p.programOfficer =? or p.programAssistant = ? or p.region=? or p.country =? or p.cipeprojectstatus=? or p.fiscalYear=? or (p.projectStartDate > ? and p.projectStartDate < ?) or (p.projectEndDate > ? and p.projectEndDate < ?) or (p.managementFunds > ? and p.managementFunds < ?) ")
// })
public class Cipeproject extends BaseAuditEntity {

	private Integer themebusassocdev;
	private Integer themecorporategovernance;
	private Integer themecorruption;
	private Integer themedemocraticgovernance;
	private Integer themelegalregreform;
	private Integer themewomenyouth;
	private Integer themeaccesstoinfo;
	private Integer lowcipeadvocacy;
	private Integer lowproorgdevelopment;
	private Integer lowpartnership;
	@Transient
	private String formName;
	@Transient
	private String message;
	@Transient
	private String prc;
	@Transient
	private String modificationDocumentLocation;
	@Transient
	private String themColumn;
	@Transient
	private Integer keywordId1;
	@Transient
	private Integer keywordId2;
	@Transient
	private Integer keywordId3;

	public Integer getKeywordId1() {
		return keywordId1;
	}

	public void setKeywordId1(Integer keywordId1) {
		this.keywordId1 = keywordId1;
	}

	public Integer getKeywordId2() {
		return keywordId2;
	}

	public void setKeywordId2(Integer keywordId2) {
		this.keywordId2 = keywordId2;
	}

	public Integer getKeywordId3() {
		return keywordId3;
	}

	public void setKeywordId3(Integer keywordId3) {
		this.keywordId3 = keywordId3;
	}

	public String getThemColumn() {
		return themColumn;
	}

	public void setThemColumn(String themColumn) {
		this.themColumn = themColumn;
	}

	public String getPrc() {
		return prc;
	}

	public void setPrc(String prc) {
		this.prc = prc;
	}

	/**
	 * @return the message
	 */
	public String getMessage() {
		return message;
	}

	/**
	 * @param message
	 *            the message to set
	 */
	public void setMessage(String message) {
		this.message = message;
	}

	/**
	 * Attribute agreementToGrantee.
	 */
	@Basic
	@Column(name = "accountingquestionnairereceived")
	private Boolean accountingQuestionnaireReceived;
	/**
	 * Attribute acronym.
	 */
	@Basic
	@Column(name = "acronym")
	private String acronym;
	@Transient
	private Timestamp agreementToGrantee;
	/**
	 * Attribute approvalRoundMonth.
	 */
	@Basic
	@Column(name = "approvalroundmonth", length = 25)
	private String approvalRoundMonth;
	/**
	 * Attribute approvalRoundYear.
	 */
	@Basic
	@Column(name = "approvalroundyear", length = 25)
	private String approvalRoundYear;
	private String approvedFileLocation;
	/**
	 * Attribute blockTimeSheet.
	 */
	@Basic
	@Column(name = "blocktimesheet")
	private Boolean blockTimeSheet;
	/**
	 * Attribute budgetedMgmtCostAmount.
	 */
	@Transient
	private BigDecimal budgetedMgmtCostAmount;
	/**
	 * Attribute budgetedPartnerGrantAmount.
	 */
	@Transient
	private BigDecimal budgetedPartnerGrantAmount;
	/**
	 * List of Cipeprojectmodification
	 */
	@OneToMany(mappedBy = "cipeproject", cascade = { CascadeType.MERGE, CascadeType.REMOVE })
	private List<Cipeprojectmodification> cipeprojectmodifications = null;
	/**
	 * List of Cipeprojectreport
	 */
	/*
	 * @OneToMany(mappedBy = "cipeproject") private List<Cipeprojectreport>
	 * cipeprojectreports = null;
	 */
	/**
	 * List of Cipeprojectreport
	 */
	@OneToMany(mappedBy = "parentProject")
	private List<Cipeproject> childProject = null;
	// @ManyToOne
	// @JoinColumn(name = "cipeprojectrollup")
	// private Cipeprojectrollup cipeprojectrollup;
	// @ManyToOne
	// @JoinColumn(name = "subidentifier")
	// private Subidentifier subidentifier;
	/**
	 * Attribute projectstatus
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "projectstatusid")
	private Cipeprojectstatus cipeprojectstatus;
	/**
	 * Attribute cipeprojecttype
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "projecttypeid")
	private Cipeprojecttype cipeprojecttype;
	/**
	 * Attribute costCenterNumber.
	 */
	@Transient
	private String condition1;
	@Transient
	private String condition2;
	@Transient
	private String condition3;
	@Basic
	@Column(name = "costcenternumber", length = 50)
	private String costCenterNumber;
	/**
	 * Attribute country
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "countryid")
	private Country country;
	/**
	 * Attribute donoraward
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "donorawardid")
	private Donoraward donoraward;
	/**
	 * Attribute fileLocation.
	 */
	@Basic
	@Column(name = "filelocation", length = 250)
	private String fileLocation;
	/**
	 * Attribute finalEvaluationDate.
	 */
	@Transient
	private Timestamp finalEvaluationDate;
	@Transient
	private String fiscalYear;
	/**
	 * List of Grantaudit
	 */
	/*
	 * FIXME @OneToMany(mappedBy = "cipeproject") private List<Grantaudit>
	 * grantaudits = null;
	 */
	/**
	 * List of Grantmonitoring
	 */
	/*
	 * FIXME @OneToMany(mappedBy = "cipeproject") private List<Grantmonitoring>
	 * grantmonitorings = null;
	 */
	/**
	 * Attribute lineofwork
	 */
	/*
	 * @ManyToOne
	 * 
	 * @JoinColumn(name = "lineofwork") private Lineofwork lineofwork;
	 */
	/**
	 * Attribute managementDisbursedAmount.
	 */
	@Transient
	private BigDecimal managementDisbursedAmount;
	/**
	 * Attribute managementFunds.
	 */
	@Basic
	@Column(name = "managementfunds")
	private BigDecimal managementFunds;
	private transient BigDecimal initialManagementFunds;
	private transient BigDecimal finalManagementFunds;
	/**
	 * Attribute matchingFunds.
	 */
	@Basic
	@Column(name = "matchingfunds")
	private BigDecimal matchingFunds;
	/**
	 * Attribute memo.
	 */
	@Basic
	@Column(name = "Memo", length = 200)
	private String memo;
	/**
	 * Attribute nedIdentifier.
	 */
	@Basic
	@Column(name = "nedidentifier", length = 50)
	private String nedIdentifier;
	/**
	 * Attribute override.
	 */
	@Basic
	@Column(name = "budgetoverride")
	private Boolean override;
	private Boolean statusoverride;
	/**
	 * Attribute parentCostNumber.
	 */
	@Transient
	private String parentCostNumber;
	/**
	 * Attribute parentProjectId.
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "parentprojectid")
	private Cipeproject parentProject;
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "masterprojectid")
	private Cipeproject masterProject;
	@OneToMany(mappedBy = "masterProject")
	List<Cipeproject> childMasterProject = null;

	/**
	 * @return the masterProject
	 */
	public Cipeproject getMasterProject() {
		return masterProject;
	}

	/**
	 * @return the childMasterProject
	 */
	public List<Cipeproject> getChildMasterProject() {
		return childMasterProject;
	}

	/**
	 * @param masterProject
	 *            the masterProject to set
	 */
	public void setMasterProject(Cipeproject masterProject) {
		this.masterProject = masterProject;
	}

	/**
	 * @param childMasterProject
	 *            the childMasterProject to set
	 */
	public void setChildMasterProject(List<Cipeproject> childMasterProject) {
		this.childMasterProject = childMasterProject;
	}

	/**
	 * Attribute partner
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "partnerid")
	private Partner partner;
	/**
	 * List of Partnergrantattachment
	 */
	/*
	 * FIXME @OneToMany(mappedBy = "cipeproject") private
	 * List<Partnergrantattachment> partnergrantattachments = null;
	 *//**
	 * Attribute partnerGrantDisbursedAmount.
	 */
	@Transient
	private BigDecimal partnerGrantDisbursedAmount;
	/**
	 * Attribute partnerGrantEndDate.
	 */
	@Transient
	private Timestamp partnerGrantEndDate;
	/**
	 * Attribute partnerGrantFundingAmount.
	 */
	@Transient
	private BigDecimal partnerGrantFundingAmount;
	@Basic
	@Column(name = "partnergrantfunds")
	private BigDecimal partnerGrantFunds;
	/**
	 * Attribute partnerGrantMatchAmount.
	 */
	@Transient
	private BigDecimal partnerGrantMatchAmount;
	/**
	 * Attribute partnerGrantNumber.
	 */
	@Transient
	private String partnerGrantNumber;
	/**
	 * Attribute partnerGrantRiskAssessmentScore.
	 */
	@Transient
	private String partnerGrantRiskAssessmentScore;
	/**
	 * Attribute partnerGrantStartDate.
	 */
	@Transient
	private Timestamp partnerGrantStartDate;
	/**
	 * Attribute partnerGrantStatusCode.
	 */
	@Transient
	private String partnerGrantStatusCode;
	/**
	 * List of Paymentlineitem
	 */
	@OneToMany(mappedBy = "cipeproject")
	private List<Paymentrequestlineitem> paymentrequestlineitems = null;
	/**
	 * Attribute paymentrequesttype
	 */
	/*
	 * @ManyToOne
	 * 
	 * @JoinColumn(name = "paymentrequesttype") private Paymentrequesttype
	 * paymentrequesttype;
	 */
	/**
	 * Attribute userinfo
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "programassistant")
	private User programAssistant;
	/**
	 * Attribute userinfo
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "programofficer")
	private User programOfficer;
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "organizationtypeid")
	private Organizationtype organizationtype;
	/*
	 * @ManyToOne
	 * 
	 * @JoinColumn(name = "impact") private Impact impact;
	 */
	/**
	 * Attribute projectEndDate.
	 */
	@Basic
	@Column(name = "projectenddate")
	private Timestamp projectEndDate;
	private transient Timestamp initialProjectEndDate;
	private transient Timestamp finalProjectEndDate;
	private transient int selectedTheme;
	/**
	 * List of Projectkeyword
	 */
	@Basic
	@Column(name = "projectID", length = 50, unique = true, nullable = false)
	private String projectID;
	private String projectimpact;
	private Timestamp receivedingrantsforapproval;
	private Integer themeinformalsectorproperty;
	private String alphaidentifier;
	private String attachment;
	@Transient
	private String[] selectedKeywords;

	/**
	 * @return the selectedKeywords
	 */
	public String[] getSelectedKeywords() {
		return selectedKeywords;
	}

	/**
	 * @param selectedKeywords
	 *            the selectedKeywords to set
	 */
	public void setSelectedKeywords(String[] selectedKeywords) {
		this.selectedKeywords = selectedKeywords;
	}

	@ManyToMany(cascade = CascadeType.ALL)
	@JoinTable(name = "projectkeyword", joinColumns = { @JoinColumn(name = "projectid", referencedColumnName = "id") }, inverseJoinColumns = { @JoinColumn(name = "keywordid",
			referencedColumnName = "id") })
	private List<Keyword> keywords = null;

	/**
	 * @return the keywords
	 */
	public List<Keyword> getKeywords() {
		return keywords;
	}

	/**
	 * @param keywords
	 *            the keywords to set
	 */
	public void setKeywords(List<Keyword> keywords) {
		this.keywords = keywords;
	}

	/**
	 * Attribute projectStartDate.
	 */
	@Basic
	@Column(name = "projectstartdate")
	private Timestamp projectStartDate;
	private transient Timestamp initialProjectStartDate;
	private transient Timestamp finalProjectStartDate;
	/**
	 * Attribute projectTitle.
	 */
	@Basic
	@Column(name = "projecttitle", length = 100)
	private String projectTitle;
	/**
	 * Attribute receiptOfBankInformation.
	 */
	@Basic
	@Column(name = "receiptofbankinformation")
	private Timestamp receiptOfBankInformation;
	/**
	 * Attribute receiptOfSignatureAuthorization.
	 */
	@Basic
	@Column(name = "receiptofsignatureauthorization")
	private Timestamp receiptOfSignatureAuthorization;
	/**
	 * Attribute receiptOfSignedAgreement.
	 */
	@Basic
	@Column(name = "receiptofsignedagreement")
	private Timestamp receiptOfSignedAgreement;
	/**
	 * Attribute region
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "regionid")
	private Region region;
	@Basic
	@Column(name = "riskassessmentscore")
	private BigDecimal riskAssessmentScore;
	/**
	 * Attribute userinfo
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "regionaldirector")
	private User seniorProgramOfficer;
	/**
	 * Attribute solomonUpdateDate.
	 */
	@Basic
	@Column(name = "solomonupdatedate")
	private Timestamp solomonUpdateDate;
	// @Basic
	// @Column(name = "subidentifier", length = 10)
	// private String subIdentifer;
	/**
	 * Attribute subProjectId.
	 */
	@Transient
	private Integer subProjectId;
	/**
	 * Attribute terroristCheckPerformed.
	 */
	@Basic
	@Column(name = "terroristcheckperformed")
	private Boolean terroristCheckPerformed;
	/**
	 * Attribute theme
	 */
	// @ManyToOne
	// @JoinColumn(name = "theme")
	// private Theme theme;
	/**
	 * Attribute totalDisbursedAmount.
	 */
	@Transient
	private BigDecimal totalDisbursedAmount;
	@Transient
	private BigDecimal totalPartnerFunds;
	@OneToOne(fetch = FetchType.LAZY, cascade = { CascadeType.REMOVE })
	@JoinColumn(name = "auditsid")
	private Audits audits;
	private Boolean newgrantee;

	/**
	 * @return the accountingQuestionnaireReceived
	 */
	public Boolean getAccountingQuestionnaireReceived() {
		return accountingQuestionnaireReceived;
	}

	/**
	 * @return acronym
	 */
	public String getAcronym() {
		return acronym;
	}

	/**
	 * @return agreementToGrantee
	 */
	public Timestamp getAgreementToGrantee() {
		return agreementToGrantee;
	}

	public String getAlphaidentifier() {
		return alphaidentifier;
	}

	/**
	 * @return approvalRoundMonth
	 */
	public String getApprovalRoundMonth() {
		return approvalRoundMonth;
	}

	/**
	 * @return approvalRoundYear
	 */
	public String getApprovalRoundYear() {
		return approvalRoundYear;
	}

	/**
	 * @return the approvedFileLocation
	 */
	public String getApprovedFileLocation() {
		return approvedFileLocation;
	}

	public String getAttachment() {
		return attachment;
	}

	public Audits getAudits() {
		return audits;
	}

	/**
	 * @return blockTimeSheet
	 */
	public Boolean getBlockTimeSheet() {
		return blockTimeSheet;
	}

	/**
	 * @return budgetedMgmtCostAmount
	 */
	public BigDecimal getBudgetedMgmtCostAmount() {
		return budgetedMgmtCostAmount;
	}

	/**
	 * @return budgetedPartnerGrantAmount
	 */
	public BigDecimal getBudgetedPartnerGrantAmount() {
		return budgetedPartnerGrantAmount;
	}

	public List<Cipeproject> getChildProject() {
		return childProject;
	}

	/**
	 * Get the list of Cipeprojectmodification
	 */
	public List<Cipeprojectmodification> getCipeprojectmodifications() {
		return this.cipeprojectmodifications;
	}

	/**
	 * @return the cipeprojectstatus
	 */
	public Cipeprojectstatus getCipeprojectstatus() {
		return cipeprojectstatus;
	}

	/**
	 * get cipeprojecttype
	 */
	public Cipeprojecttype getCipeprojecttype() {
		return this.cipeprojecttype;
	}

	/**
	 * @return the condition
	 */
	public String getCondition1() {
		return condition1;
	}

	/**
	 * @return costCenterNumber
	 */
	public String getCostCenterNumber() {
		return costCenterNumber;
	}

	/**
	 * get country
	 */
	public Country getCountry() {
		return this.country;
	}

	/**
	 * get donoraward
	 */
	public Donoraward getDonoraward() {
		return this.donoraward;
	}

	/**
	 * @return fileLocation
	 */
	public String getFileLocation() {
		return fileLocation;
	}

	/**
	 * @return finalEvaluationDate
	 */
	public Timestamp getFinalEvaluationDate() {
		return finalEvaluationDate;
	}

	/**
	 * @return the finalManagementFunds
	 */
	public BigDecimal getFinalManagementFunds() {
		return finalManagementFunds;
	}

	/**
	 * Get the list of Grantaudit
	 */
	/*
	 * FIXME public List<Grantaudit> getGrantaudits() { return this.grantaudits;
	 * }
	 */
	/**
	 * Get the list of Grantmonitoring
	 */
	/*
	 * FIXME public List<Grantmonitoring> getGrantmonitorings() { return
	 * this.grantmonitorings; }
	 */
	/*
	 * public Impact getImpact() { return impact; }
	 */
	/**
	 * @return the finalProjectEndDate
	 */
	public Timestamp getFinalProjectEndDate() {
		return finalProjectEndDate;
	}

	/**
	 * @return the finalProjectStartDate
	 */
	public Timestamp getFinalProjectStartDate() {
		return finalProjectStartDate;
	}

	/**
	 * @return the fiscalYear
	 */
	public String getFiscalYear() {
		return fiscalYear;
	}

	public String getFullCostCenterNumber() {
		String outcome = Util.concate(new String[] { this.costCenterNumber != null ? this.costCenterNumber : "",
				this.cipeprojecttype.getDisplayName() != null ? this.cipeprojecttype.getDisplayName() : "", this.partner != null ? this.partner.getPartnerName() : "",
				this.acronym != null ? this.acronym : "", this.projectStartDate != null ? DateUtil2.INSTANCE.formatDate(this.projectStartDate) : "",
				this.projectEndDate != null ? DateUtil2.INSTANCE.formatDate(this.projectEndDate) : "", this.managementFunds != null ? this.managementFunds.toPlainString() : "",
				this.donoraward != null ? this.donoraward.getDonor().getDonorName() : "", }, " | ");
		return outcome.length() > 110 ? outcome.substring(0, 109) : outcome;
	}

	/*
	 * public Lineofwork getLineofwork() { return lineofwork; }
	 */
	/**
	 * @return the initialManagementFunds
	 */
	public BigDecimal getInitialManagementFunds() {
		return initialManagementFunds;
	}

	/**
	 * @return the initialProjectEndDate
	 */
	public Timestamp getInitialProjectEndDate() {
		return initialProjectEndDate;
	}

	/**
	 * @return the initialProjectStartDate
	 */
	public Timestamp getInitialProjectStartDate() {
		return initialProjectStartDate;
	}

	/**
	 * @return the lowcipeadvocacy
	 */
	public Integer getLowcipeadvocacy() {
		return lowcipeadvocacy;
	}

	/**
	 * @return the lowpartnership
	 */
	public Integer getLowpartnership() {
		return lowpartnership;
	}

	/**
	 * @return the lowproorgdevelopment
	 */
	public Integer getLowproorgdevelopment() {
		return lowproorgdevelopment;
	}

	/**
	 * @return managementDisbursedAmount
	 */
	public BigDecimal getManagementDisbursedAmount() {
		return managementDisbursedAmount;
	}

	/**
	 * @return managementFunds
	 */
	public BigDecimal getManagementFunds() {
		return managementFunds;
	}

	/**
	 * @return matchingFunds
	 */
	public BigDecimal getMatchingFunds() {
		return matchingFunds;
	}

	/**
	 * @return memo
	 */
	public String getMemo() {
		return memo;
	}

	/**
	 * @return nedIdentifier
	 */
	public String getNedIdentifier() {
		return nedIdentifier;
	}

	public Boolean getNewgrantee() {
		return newgrantee;
	}

	public Organizationtype getOrganizationtype() {
		return organizationtype;
	}

	/**
	 * @return override
	 */
	public Boolean getOverride() {
		return override;
	}

	/**
	 * @return parentCostNumber
	 */
	public String getParentCostNumber() {
		return parentCostNumber;
	}

	public Cipeproject getParentProject() {
		return parentProject;
	}

	/*	*//**
	 * @return parentProjectId
	 */
	/*
	 * public Integer getParentProjectId() { return parentProjectId; }
	 */
	/**
	 * get partner
	 */
	public Partner getPartner() {
		return this.partner;
	}

	public BigDecimal getPartnerBalanceAmount() {
		BigDecimal budgetAmount = getPartnerBudgetAmount();
		BigDecimal disbursedAmount = getPartnerDisbursedAmount();
		BigDecimal total = new BigDecimal(0);
		if (null != budgetAmount && null != disbursedAmount) {
			total = budgetAmount.subtract(disbursedAmount);
		}
		return total;
	}

	public BigDecimal getProjectBalanceAmount() {
		BigDecimal budgetAmount = getProjectBudgetAmount();
		BigDecimal disbursedAmount = getProjectDisbursedAmount();
		BigDecimal total = new BigDecimal(0);
		if (null != budgetAmount && null != disbursedAmount) {
			total = budgetAmount.subtract(disbursedAmount);
		}
		return total;
	}

	public BigDecimal getPartnerBudgetAmount() {
		BigDecimal matchFunds = matchingFunds;
		BigDecimal partnerFunds = partnerGrantFunds;
		BigDecimal total = new BigDecimal(0);
		if (null != matchFunds) {
			total = total.add(matchFunds);
		}
		if (null != partnerFunds) {
			total = total.add(partnerFunds);
		}
		return total;
	}

	public BigDecimal getTotalProjectPartnerBudgetAmount() {
		BigDecimal total = new BigDecimal(0);
		total = getProjectBudgetAmount().add(getTotalPartnerBudgetAmount());
		return total;
	}

	public BigDecimal getTotalProjectPartnerDisbursedAmount() {
		BigDecimal total = new BigDecimal(0);
		total = getProjectDisbursedAmount().add(getTotalPartnerDisbursedAmount());
		return total;
	}

	public BigDecimal getTotalProjectPartnerBalanceAmount() {
		BigDecimal total = new BigDecimal(0);
		total = getProjectBalanceAmount().add(getTotalPartnerBalanceAmount());
		return total;
	}

	public BigDecimal getTotalPartnerBudgetAmount() {
		BigDecimal total = new BigDecimal(0);
		if (null != childProject) {
			for (Cipeproject partnerGrant : childProject) {
				total = total.add(partnerGrant.getPartnerBudgetAmount());
			}
		}
		return total;
	}

	public BigDecimal getTotalPartnerDisbursedAmount() {
		BigDecimal total = new BigDecimal(0);
		if (null != childProject) {
			for (Cipeproject partnerGrant : childProject) {
				total = total.add(partnerGrant.getPartnerDisbursedAmount());
			}
		}
		return total;
	}

	public BigDecimal getTotalPartnerBalanceAmount() {
		BigDecimal total = new BigDecimal(0);
		if (null != childProject) {
			for (Cipeproject partnerGrant : childProject) {
				total = total.add(partnerGrant.getPartnerBalanceAmount());
			}
		}
		return total;
	}

	public BigDecimal getPartnerDisbursedAmount() {
		BigDecimal totalLineitem = new BigDecimal(0);
		if (null != paymentrequestlineitems) {
			for (Paymentrequestlineitem lineitem : paymentrequestlineitems) {
				totalLineitem = totalLineitem.add(lineitem.getPaymentrequestamount());
			}
		}
		return totalLineitem;
	}

	public BigDecimal getProjectDisbursedAmount() {
		BigDecimal totalLineitem = new BigDecimal(0);
		if (null != paymentrequestlineitems) {
			for (Paymentrequestlineitem lineitem : paymentrequestlineitems) {
				totalLineitem = totalLineitem.add(lineitem.getPaymentrequestamount());
			}
		}
		return totalLineitem;
	}

	/**
	 * Get the list of Partnergrantattachment
	 */
	/*
	 * FIXME public List<Partnergrantattachment> getPartnergrantattachments() {
	 * return this.partnergrantattachments; }
	 */
	/**
	 * @return partnerGrantDisbursedAmount
	 */
	public BigDecimal getPartnerGrantDisbursedAmount() {
		return partnerGrantDisbursedAmount;
	}

	/**
	 * @return partnerGrantEndDate
	 */
	public Timestamp getPartnerGrantEndDate() {
		return partnerGrantEndDate;
	}

	/**
	 * @return partnerGrantFundingAmount
	 */
	public BigDecimal getPartnerGrantFundingAmount() {
		return partnerGrantFundingAmount;
	}

	/**
	 * @return partnerGrantFunds
	 */
	public BigDecimal getPartnerGrantFunds() {
		return partnerGrantFunds;
	}

	/**
	 * @return partnerGrantMatchAmount
	 */
	public BigDecimal getPartnerGrantMatchAmount() {
		return partnerGrantMatchAmount;
	}

	/**
	 * Get the list of Paymentlineitem
	 */
	/*
	 * public List<Paymentlineitem> getPaymentlineitems() { return
	 * this.paymentlineitems; }
	 */
	/**
	 * @return partnerGrantNumber
	 */
	public String getPartnerGrantNumber() {
		return partnerGrantNumber;
	}

	/**
	 * @return partnerGrantRiskAssessmentScore
	 */
	public String getPartnerGrantRiskAssessmentScore() {
		return partnerGrantRiskAssessmentScore;
	}

	/**
	 * @return partnerGrantStartDate
	 */
	public Timestamp getPartnerGrantStartDate() {
		return partnerGrantStartDate;
	}

	/**
	 * @return partnerGrantStatusCode
	 */
	public String getPartnerGrantStatusCode() {
		return partnerGrantStatusCode;
	}

	/**
	 * @return the paymentrequestlineitems
	 */
	public List<Paymentrequestlineitem> getPaymentrequestlineitems() {
		return paymentrequestlineitems;
	}

	/**
	 * @return the programAssistant
	 */
	public User getProgramAssistant() {
		return programAssistant;
	}

	/**
	 * get userinfo
	 */
	public User getProgramOfficer() {
		return this.programOfficer;
	}

	public BigDecimal getProjectBudgetAmount() {
		BigDecimal total = new BigDecimal(0);
		if (null != managementFunds) {
			total = managementFunds.subtract(getTotalPartnerBudgetAmount());
		}
		return total;
		// return managementFunds != null ?
		// managementFunds.subtract(getTotalPartnerBudgetAmount()) :
		// BigDecimal.ZERO;
	}

	/**
	 * @return projectEndDate
	 */
	public Timestamp getProjectEndDate() {
		return projectEndDate;
	}

	/**
	 * @return the projectID
	 */
	public String getProjectID() {
		return projectID;
	}

	public String getProjectimpact() {
		return projectimpact;
	}

	/**
	 * @return projectStartDate
	 */
	public Timestamp getProjectStartDate() {
		return projectStartDate;
	}

	/**
	 * @return projectTitle
	 */
	public String getProjectTitle() {
		return projectTitle;
	}

	/**
	 * @return receiptOfBankInformation
	 */
	public Timestamp getReceiptOfBankInformation() {
		return receiptOfBankInformation;
	}

	/**
	 * @return receiptOfSignatureAuthorization
	 */
	public Timestamp getReceiptOfSignatureAuthorization() {
		return receiptOfSignatureAuthorization;
	}

	/**
	 * @return receiptOfSignedAgreement
	 */
	public Timestamp getReceiptOfSignedAgreement() {
		return receiptOfSignedAgreement;
	}

	public Timestamp getReceivedingrantsforapproval() {
		return receivedingrantsforapproval;
	}

	/**
	 * get region
	 */
	public Region getRegion() {
		return this.region;
	}

	/**
	 * @return the riskAssessmentScore
	 */
	public BigDecimal getRiskAssessmentScore() {
		return riskAssessmentScore;
	}

	/**
	 * @return the selectedTheme
	 */
	public int getSelectedTheme() {
		return selectedTheme;
	}

	/**
	 * get userinfo
	 */
	public User getSeniorProgramOfficer() {
		return this.seniorProgramOfficer;
	}

	/**
	 * @return solomonUpdateDate
	 */
	public Timestamp getSolomonUpdateDate() {
		return solomonUpdateDate;
	}

	// /**
	// * @return the subIdentifer
	// */
	// public String getSubIdentifer() {
	// return subIdentifer;
	// }
	/**
	 * @return subProjectId
	 */
	public Integer getSubProjectId() {
		return subProjectId;
	}

	/**
	 * @return terroristCheckPerformed
	 */
	public Boolean getTerroristCheckPerformed() {
		return terroristCheckPerformed;
	}

	/**
	 * @return the themeaccesstoinfo
	 */
	public Integer getThemeaccesstoinfo() {
		return themeaccesstoinfo;
	}

	/**
	 * @return the themebusassocdev
	 */
	public Integer getThemebusassocdev() {
		return themebusassocdev;
	}

	/**
	 * @return the themecorporategovernance
	 */
	public Integer getThemecorporategovernance() {
		return themecorporategovernance;
	}

	/**
	 * @return the themecorruption
	 */
	public Integer getThemecorruption() {
		return themecorruption;
	}

	/**
	 * @return the themedemocraticgovernance
	 */
	public Integer getThemedemocraticgovernance() {
		return themedemocraticgovernance;
	}

	public Integer getThemeinformalsectorproperty() {
		return themeinformalsectorproperty;
	}

	/**
	 * @return the themelegalregreform
	 */
	public Integer getThemelegalregreform() {
		return themelegalregreform;
	}

	/**
	 * @return the themewomenyouth
	 */
	public Integer getThemewomenyouth() {
		return themewomenyouth;
	}

	/**
	 * @return totalDisbursedAmount
	 */
	public BigDecimal getTotalDisbursedAmount() {
		return totalDisbursedAmount;
	}

	/**
	 * @return the totalPartnerFunds
	 */
	public BigDecimal getTotalPartnerFunds() {
		return totalPartnerFunds;
	}

	/**
	 * @param accountingQuestionnaireReceived
	 *            the accountingQuestionnaireReceived to set
	 */
	public void setAccountingQuestionnaireReceived(Boolean accountingQuestionnaireReceived) {
		this.accountingQuestionnaireReceived = accountingQuestionnaireReceived;
	}

	/**
	 * @param acronym
	 *            new value for acronym
	 */
	public void setAcronym(String acronym) {
		this.acronym = acronym;
	}

	/**
	 * @param agreementToGrantee
	 *            new value for agreementToGrantee
	 */
	public void setAgreementToGrantee(Timestamp agreementToGrantee) {
		this.agreementToGrantee = agreementToGrantee;
	}

	public void setAlphaidentifier(String alphaidentifier) {
		this.alphaidentifier = alphaidentifier;
	}

	/**
	 * @param approvalRoundMonth
	 *            new value for approvalRoundMonth
	 */
	public void setApprovalRoundMonth(String approvalRoundMonth) {
		this.approvalRoundMonth = approvalRoundMonth;
	}

	/**
	 * @param approvalRoundYear
	 *            new value for approvalRoundYear
	 */
	public void setApprovalRoundYear(String approvalRoundYear) {
		this.approvalRoundYear = approvalRoundYear;
	}

	/**
	 * @param approvedFileLocation
	 *            the approvedFileLocation to set
	 */
	public void setApprovedFileLocation(String approvedFileLocation) {
		this.approvedFileLocation = approvedFileLocation;
	}

	public void setAttachment(String attachment) {
		this.attachment = attachment;
	}

	public void setAudits(Audits audits) {
		this.audits = audits;
	}

	/**
	 * @param blockTimeSheet
	 *            new value for blockTimeSheet
	 */
	public void setBlockTimeSheet(Boolean blockTimeSheet) {
		this.blockTimeSheet = blockTimeSheet;
	}

	/**
	 * @param budgetedMgmtCostAmount
	 *            new value for budgetedMgmtCostAmount
	 */
	public void setBudgetedMgmtCostAmount(BigDecimal budgetedMgmtCostAmount) {
		this.budgetedMgmtCostAmount = budgetedMgmtCostAmount;
	}

	/**
	 * @param budgetedPartnerGrantAmount
	 *            new value for budgetedPartnerGrantAmount
	 */
	public void setBudgetedPartnerGrantAmount(BigDecimal budgetedPartnerGrantAmount) {
		this.budgetedPartnerGrantAmount = budgetedPartnerGrantAmount;
	}

	public void setChildProject(List<Cipeproject> childProject) {
		this.childProject = childProject;
	}

	/**
	 * Set the list of Cipeprojectmodification
	 */
	public void setCipeprojectmodifications(List<Cipeprojectmodification> cipeprojectmodifications) {
		this.cipeprojectmodifications = cipeprojectmodifications;
	}

	/**
	 * @param cipeprojectstatus
	 *            the cipeprojectstatus to set
	 */
	public void setCipeprojectstatus(Cipeprojectstatus cipeprojectstatus) {
		this.cipeprojectstatus = cipeprojectstatus;
	}

	/**
	 * set cipeprojecttype
	 */
	public void setCipeprojecttype(Cipeprojecttype cipeprojecttype) {
		this.cipeprojecttype = cipeprojecttype;
	}

	/**
	 * Set the list of Grantaudit
	 */
	/*
	 * FIXME public void setGrantaudits(List<Grantaudit> grantaudits) {
	 * this.grantaudits = grantaudits; }
	 */
	/**
	 * Set the list of Grantmonitoring
	 */
	/*
	 * FIXME public void setGrantmonitorings(List<Grantmonitoring>
	 * grantmonitorings) { this.grantmonitorings = grantmonitorings; }
	 */
	/*
	 * public void setImpact(Impact impact) { this.impact = impact; }
	 */
	/**
	 * @param condition
	 *            the condition to set
	 */
	public void setCondition1(String condition1) {
		this.condition1 = condition1;
	}

	public String getCondition2() {
		return condition2;
	}

	public void setCondition2(String condition2) {
		this.condition2 = condition2;
	}

	public String getCondition3() {
		return condition3;
	}

	public void setCondition3(String condition3) {
		this.condition3 = condition3;
	}

	/**
	 * @param costCenterNumber
	 *            new value for costCenterNumber
	 */
	public void setCostCenterNumber(String costCenterNumber) {
		this.costCenterNumber = costCenterNumber;
	}

	/**
	 * set country
	 */
	public void setCountry(Country country) {
		this.country = country;
	}

	/*
	 * public void setLineofwork(Lineofwork lineofwork) { this.lineofwork =
	 * lineofwork; }
	 */
	/**
	 * set donoraward
	 */
	public void setDonoraward(Donoraward donoraward) {
		this.donoraward = donoraward;
	}

	/**
	 * @param fileLocation
	 *            new value for fileLocation
	 */
	public void setFileLocation(String fileLocation) {
		this.fileLocation = fileLocation;
	}

	/**
	 * @param finalEvaluationDate
	 *            new value for finalEvaluationDate
	 */
	public void setFinalEvaluationDate(Timestamp finalEvaluationDate) {
		this.finalEvaluationDate = finalEvaluationDate;
	}

	/**
	 * @param finalManagementFunds
	 *            the finalManagementFunds to set
	 */
	public void setFinalManagementFunds(BigDecimal finalManagementFunds) {
		this.finalManagementFunds = finalManagementFunds;
	}

	/**
	 * @param finalProjectEndDate
	 *            the finalProjectEndDate to set
	 */
	public void setFinalProjectEndDate(Timestamp finalProjectEndDate) {
		this.finalProjectEndDate = finalProjectEndDate;
	}

	/**
	 * @param finalProjectStartDate
	 *            the finalProjectStartDate to set
	 */
	public void setFinalProjectStartDate(Timestamp finalProjectStartDate) {
		this.finalProjectStartDate = finalProjectStartDate;
	}

	/**
	 * @param fiscalYear
	 *            the fiscalYear to set
	 */
	public void setFiscalYear(String fiscalYear) {
		this.fiscalYear = fiscalYear;
	}

	/**
	 * @param initialManagementFunds
	 *            the initialManagementFunds to set
	 */
	public void setInitialManagementFunds(BigDecimal initialManagementFunds) {
		this.initialManagementFunds = initialManagementFunds;
	}

	/**
	 * @param initialProjectEndDate
	 *            the initialProjectEndDate to set
	 */
	public void setInitialProjectEndDate(Timestamp initialProjectEndDate) {
		this.initialProjectEndDate = initialProjectEndDate;
	}

	/**
	 * @param initialProjectStartDate
	 *            the initialProjectStartDate to set
	 */
	public void setInitialProjectStartDate(Timestamp initialProjectStartDate) {
		this.initialProjectStartDate = initialProjectStartDate;
	}

	/**
	 * @param lowcipeadvocacy
	 *            the lowcipeadvocacy to set
	 */
	public void setLowcipeadvocacy(Integer lowcipeadvocacy) {
		this.lowcipeadvocacy = lowcipeadvocacy;
	}

	/**
	 * @param lowpartnership
	 *            the lowpartnership to set
	 */
	public void setLowpartnership(Integer lowpartnership) {
		this.lowpartnership = lowpartnership;
	}

	/**
	 * @param lowproorgdevelopment
	 *            the lowproorgdevelopment to set
	 */
	public void setLowproorgdevelopment(Integer lowproorgdevelopment) {
		this.lowproorgdevelopment = lowproorgdevelopment;
	}

	/**
	 * @param managementDisbursedAmount
	 *            new value for managementDisbursedAmount
	 */
	public void setManagementDisbursedAmount(BigDecimal managementDisbursedAmount) {
		this.managementDisbursedAmount = managementDisbursedAmount;
	}

	/**
	 * @param managementFunds
	 *            new value for managementFunds
	 */
	public void setManagementFunds(BigDecimal managementFunds) {
		this.managementFunds = managementFunds;
	}

	/**
	 * @param matchingFunds
	 *            new value for matchingFunds
	 */
	public void setMatchingFunds(BigDecimal matchingFunds) {
		this.matchingFunds = matchingFunds;
	}

	/**
	 * @param memo
	 *            new value for memo
	 */
	public void setMemo(String memo) {
		this.memo = memo;
	}

	/**
	 * @param nedIdentifier
	 *            new value for nedIdentifier
	 */
	public void setNedIdentifier(String nedIdentifier) {
		this.nedIdentifier = nedIdentifier;
	}

	public void setNewgrantee(Boolean newgrantee) {
		this.newgrantee = newgrantee;
	}

	public void setOrganizationtype(Organizationtype organizationtype) {
		this.organizationtype = organizationtype;
	}

	/**
	 * @param override
	 *            new value for override
	 */
	public void setOverride(Boolean override) {
		this.override = override;
	}

	/**
	 * @param parentCostNumber
	 *            new value for parentCostNumber
	 */
	public void setParentCostNumber(String parentCostNumber) {
		this.parentCostNumber = parentCostNumber;
	}

	/**
	 * Set the list of Paymentlineitem
	 */
	/*
	 * public void setPaymentlineitems(List<Paymentlineitem> paymentlineitems) {
	 * this.paymentlineitems = paymentlineitems; }
	 */
	public void setParentProject(Cipeproject parentProject) {
		this.parentProject = parentProject;
	}

	/*	*//**
	 * @param parentProjectId
	 *            new value for parentProjectId
	 */
	/*
	 * public void setParentProjectId(Integer parentProjectId) {
	 * this.parentProjectId = parentProjectId; }
	 */
	/**
	 * set partner
	 */
	public void setPartner(Partner partner) {
		this.partner = partner;
	}

	/**
	 * Set the list of Partnergrantattachment
	 */
	/*
	 * FIXME public void setPartnergrantattachments(List<Partnergrantattachment>
	 * partnergrantattachments) { this.partnergrantattachments =
	 * partnergrantattachments; }
	 */
	/**
	 * @param partnerGrantDisbursedAmount
	 *            new value for partnerGrantDisbursedAmount
	 */
	public void setPartnerGrantDisbursedAmount(BigDecimal partnerGrantDisbursedAmount) {
		this.partnerGrantDisbursedAmount = partnerGrantDisbursedAmount;
	}

	/**
	 * @param partnerGrantEndDate
	 *            new value for partnerGrantEndDate
	 */
	public void setPartnerGrantEndDate(Timestamp partnerGrantEndDate) {
		this.partnerGrantEndDate = partnerGrantEndDate;
	}

	/**
	 * @param partnerGrantFundingAmount
	 *            new value for partnerGrantFundingAmount
	 */
	public void setPartnerGrantFundingAmount(BigDecimal partnerGrantFundingAmount) {
		this.partnerGrantFundingAmount = partnerGrantFundingAmount;
	}

	/**
	 * @param partnerGrantFunds
	 *            new value for partnerGrantFunds
	 */
	public void setPartnerGrantFunds(BigDecimal partnerGrantFunds) {
		this.partnerGrantFunds = partnerGrantFunds;
	}

	/**
	 * @param partnerGrantMatchAmount
	 *            new value for partnerGrantMatchAmount
	 */
	public void setPartnerGrantMatchAmount(BigDecimal partnerGrantMatchAmount) {
		this.partnerGrantMatchAmount = partnerGrantMatchAmount;
	}

	/**
	 * @param partnerGrantNumber
	 *            new value for partnerGrantNumber
	 */
	public void setPartnerGrantNumber(String partnerGrantNumber) {
		this.partnerGrantNumber = partnerGrantNumber;
	}

	/**
	 * @param partnerGrantRiskAssessmentScore
	 *            new value for partnerGrantRiskAssessmentScore
	 */
	public void setPartnerGrantRiskAssessmentScore(String partnerGrantRiskAssessmentScore) {
		this.partnerGrantRiskAssessmentScore = partnerGrantRiskAssessmentScore;
	}

	/**
	 * @param partnerGrantStartDate
	 *            new value for partnerGrantStartDate
	 */
	public void setPartnerGrantStartDate(Timestamp partnerGrantStartDate) {
		this.partnerGrantStartDate = partnerGrantStartDate;
	}

	/**
	 * @param partnerGrantStatusCode
	 *            new value for partnerGrantStatusCode
	 */
	public void setPartnerGrantStatusCode(String partnerGrantStatusCode) {
		this.partnerGrantStatusCode = partnerGrantStatusCode;
	}

	/**
	 * @param paymentrequestlineitems
	 *            the paymentrequestlineitems to set
	 */
	public void setPaymentrequestlineitems(List<Paymentrequestlineitem> paymentrequestlineitems) {
		this.paymentrequestlineitems = paymentrequestlineitems;
	}

	/**
	 * @param programAssistant
	 *            the programAssistant to set
	 */
	public void setProgramAssistant(User programAssistant) {
		this.programAssistant = programAssistant;
	}

	/**
	 * set userinfo
	 */
	public void setProgramOfficer(User programOfficer) {
		this.programOfficer = programOfficer;
	}

	/**
	 * @param projectEndDate
	 *            new value for projectEndDate
	 */
	public void setProjectEndDate(Timestamp projectEndDate) {
		this.projectEndDate = projectEndDate;
	}

	/**
	 * @param projectID
	 *            the projectID to set
	 */
	public void setProjectID(String projectID) {
		this.projectID = projectID;
	}

	public void setProjectimpact(String projectimpact) {
		this.projectimpact = projectimpact;
	}

	/**
	 * @param projectStartDate
	 *            new value for projectStartDate
	 */
	public void setProjectStartDate(Timestamp projectStartDate) {
		this.projectStartDate = projectStartDate;
	}

	/**
	 * @param projectTitle
	 *            new value for projectTitle
	 */
	public void setProjectTitle(String projectTitle) {
		this.projectTitle = projectTitle;
	}

	/**
	 * @param receiptOfBankInformation
	 *            new value for receiptOfBankInformation
	 */
	public void setReceiptOfBankInformation(Timestamp receiptOfBankInformation) {
		this.receiptOfBankInformation = receiptOfBankInformation;
	}

	/**
	 * @param receiptOfSignatureAuthorization
	 *            new value for receiptOfSignatureAuthorization
	 */
	public void setReceiptOfSignatureAuthorization(Timestamp receiptOfSignatureAuthorization) {
		this.receiptOfSignatureAuthorization = receiptOfSignatureAuthorization;
	}

	/**
	 * @param receiptOfSignedAgreement
	 *            new value for receiptOfSignedAgreement
	 */
	public void setReceiptOfSignedAgreement(Timestamp receiptOfSignedAgreement) {
		this.receiptOfSignedAgreement = receiptOfSignedAgreement;
	}

	public void setReceivedingrantsforapproval(Timestamp receivedingrantsforapproval) {
		this.receivedingrantsforapproval = receivedingrantsforapproval;
	}

	/**
	 * set region
	 */
	public void setRegion(Region region) {
		this.region = region;
	}

	/**
	 * @param riskAssessmentScore
	 *            the riskAssessmentScore to set
	 */
	public void setRiskAssessmentScore(BigDecimal riskAssessmentScore) {
		this.riskAssessmentScore = riskAssessmentScore;
	}

	/**
	 * @param selectedTheme
	 *            the selectedTheme to set
	 */
	public void setSelectedTheme(int selectedTheme) {
		this.selectedTheme = selectedTheme;
	}

	/**
	 * set userinfo
	 */
	public void setSeniorProgramOfficer(User seniorProgramOfficer) {
		this.seniorProgramOfficer = seniorProgramOfficer;
	}

	/**
	 * @param solomonUpdateDate
	 *            new value for solomonUpdateDate
	 */
	public void setSolomonUpdateDate(Timestamp solomonUpdateDate) {
		this.solomonUpdateDate = solomonUpdateDate;
	}

	// /**
	// * @param subIdentifer
	// * the subIdentifer to set
	// */
	// public void setSubIdentifer(String subIdentifer) {
	// this.subIdentifer = subIdentifer;
	// }
	/**
	 * @param subProjectId
	 *            new value for subProjectId
	 */
	public void setSubProjectId(Integer subProjectId) {
		this.subProjectId = subProjectId;
	}

	/**
	 * @param terroristCheckPerformed
	 *            new value for terroristCheckPerformed
	 */
	public void setTerroristCheckPerformed(Boolean terroristCheckPerformed) {
		this.terroristCheckPerformed = terroristCheckPerformed;
	}

	/**
	 * @param themeaccesstoinfo
	 *            the themeaccesstoinfo to set
	 */
	public void setThemeaccesstoinfo(Integer themeaccesstoinfo) {
		this.themeaccesstoinfo = themeaccesstoinfo;
	}

	/**
	 * @param themebusassocdev
	 *            the themebusassocdev to set
	 */
	public void setThemebusassocdev(Integer themebusassocdev) {
		this.themebusassocdev = themebusassocdev;
	}

	/**
	 * @param themecorporategovernance
	 *            the themecorporategovernance to set
	 */
	public void setThemecorporategovernance(Integer themecorporategovernance) {
		this.themecorporategovernance = themecorporategovernance;
	}

	/**
	 * @param themecorruption
	 *            the themecorruption to set
	 */
	public void setThemecorruption(Integer themecorruption) {
		this.themecorruption = themecorruption;
	}

	/**
	 * @param themedemocraticgovernance
	 *            the themedemocraticgovernance to set
	 */
	public void setThemedemocraticgovernance(Integer themedemocraticgovernance) {
		this.themedemocraticgovernance = themedemocraticgovernance;
	}

	public void setThemeinformalsectorproperty(Integer themeinformalsectorproperty) {
		this.themeinformalsectorproperty = themeinformalsectorproperty;
	}

	/**
	 * @param themelegalregreform
	 *            the themelegalregreform to set
	 */
	public void setThemelegalregreform(Integer themelegalregreform) {
		this.themelegalregreform = themelegalregreform;
	}

	/**
	 * @param themewomenyouth
	 *            the themewomenyouth to set
	 */
	public void setThemewomenyouth(Integer themewomenyouth) {
		this.themewomenyouth = themewomenyouth;
	}

	/**
	 * @param totalDisbursedAmount
	 *            new value for totalDisbursedAmount
	 */
	public void setTotalDisbursedAmount(BigDecimal totalDisbursedAmount) {
		this.totalDisbursedAmount = totalDisbursedAmount;
	}

	/**
	 * @param totalPartnerFunds
	 *            the totalPartnerFunds to set
	 */
	public void setTotalPartnerFunds(BigDecimal totalPartnerFunds) {
		this.totalPartnerFunds = totalPartnerFunds;
	}

	public String getModificationDocumentLocation() {
		return modificationDocumentLocation;
	}

	public void setModificationDocumentLocation(String modificationDocumentLocation) {
		this.modificationDocumentLocation = modificationDocumentLocation;
	}

	public Boolean getStatusoverride() {
		return statusoverride;
	}

	public void setStatusoverride(Boolean statusoverride) {
		this.statusoverride = statusoverride;
	}

	public String getFormName() {
		return formName;
	}

	public void setFormName(String formName) {
		this.formName = formName;
	}
}